import shutil
from datetime import datetime

import pytest
import os

from Tools.Tools import send_email

if __name__ == '__main__':
    # 生成Allure原始数据
    pytest_args = [
        # 'E:/GXPycharm/PythonObject/Help_PO_Ul/Case/TestLook.py',  # 测试用例目录  牛逼6666
        # 'E:\GXPycharm\PythonObject\Help_PO_Ul\Case\TestLogin.py',
        r'./Case/TestShen.py',
        '-v',  # 详细输出
        '--alluredir=./Report/allure_raw'  # 指定Allure结果目录
    ]
    pytest.main(pytest_args)

    # 检查allure_raw目录是否存在
    os.path.exists('./Report/allure_raw')
    # 生成HTML报告（需提前安装Allure命令行工具）
    os.system('allure generate ./Report/allure_raw -o ./Report/allure_html --clean')
    # 自动打开报告
    # print("报告生成成功，正在打开...")
    # os.system('allure open ./Report/allure_html')

    shutil.make_archive('./Report/allure_html', 'zip', './Report/allure_html')

    # 获取当天的日志文件路径
    log_date = datetime.now().strftime('%Y%m%d')
    log_file_path = f"./logs/test_{log_date}.log"

    send_email(
        receiver=["103214030@qq.com"],
        subject="今日测试报告",
        content="本次测试结果见附件",
        attachment_path="./Report/allure_html.zip"
    )
    # 如果你需要在发送邮件后删除压缩包，可以添加以下代码
    if os.path.exists('./Report/allure_html.zip'):
        os.remove('./Report/allure_html.zip')